home *** CD-ROM | disk | FTP | other *** search
/ PC Users 1998 June / Cd Pc Users 9.iso / prog / inst / baslibs / bascvmk.bas < prev    next >
Encoding:
BASIC Source File  |  1997-01-02  |  1.8 KB  |  88 lines

  1. Attribute VB_Name = "basCVMK"
  2. Option Explicit
  3.  
  4. ' Substitutes for the old CV* and MK* functions
  5. ' from qbasic.
  6.  
  7. Declare Sub CopyMemory Lib "KERNEL32" Alias "RtlMoveMemory" ( _
  8.             hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
  9.             
  10. Public Function CVI(s As String) As Integer
  11.    Dim i As Integer
  12.    
  13.    If Len(s) <> 2 Then
  14.       Err.Raise 1000, "CVI", "Invalid string argument"
  15.    Else
  16.       CopyMemory i, ByVal s, 2
  17.    End If
  18.    
  19.    CVI = i
  20. End Function
  21. Public Function CVL(s As String) As Long
  22.    Dim i As Long
  23.    
  24.    If Len(s) <> 4 Then
  25.       Err.Raise 1000, "CVL", "Invalid string argument"
  26.    Else
  27.       CopyMemory i, ByVal s, 4
  28.    End If
  29.    
  30.    CVL = i
  31. End Function
  32. Public Function CVD(s As String) As Double
  33.    Dim i As Double
  34.    
  35.    If Len(s) <> 8 Then
  36.       Err.Raise 1000, "CVD", "Invalid string argument"
  37.    Else
  38.       CopyMemory i, ByVal s, 8
  39.    End If
  40.    
  41.    CVD = i
  42. End Function
  43. Public Function CVS(s As String) As Single
  44.    Dim i As Single
  45.    
  46.    If Len(s) <> 4 Then
  47.       Err.Raise 1000, "CVS", "Invalid string argument"
  48.    Else
  49.       CopyMemory i, ByVal s, 4
  50.    End If
  51.    
  52.    CVS = i
  53. End Function
  54. Public Function MKI(ByVal i As Integer) As String
  55.     Dim s As String
  56.     
  57.     s = String(2, 0)
  58.     CopyMemory ByVal s, i, 2
  59.     
  60.     MKI = s
  61. End Function
  62.  
  63. Public Function MKL(ByVal i As Long) As String
  64.     Dim s As String
  65.     
  66.     s = String(4, 0)
  67.     CopyMemory ByVal s, i, 4
  68.     
  69.     MKL = s
  70. End Function
  71. Public Function MKS(ByVal i As Double) As String
  72.     Dim s As String
  73.     
  74.     s = String(4, 0)
  75.     CopyMemory ByVal s, i, 4
  76.     
  77.     MKS = s
  78. End Function
  79.  
  80. Public Function MKD(ByVal i As Double) As String
  81.     Dim s As String
  82.     
  83.     s = String(8, 0)
  84.     CopyMemory ByVal s, i, 8
  85.     
  86.     MKD = s
  87. End Function
  88.